package logica;

import java.util.ArrayList;

import dataSet.*;
import entidades.*;
import accesoDatos.*;

public class loCursos {
    
    private adCursos oDatos;
    
    public ArrayList<Curso> recuperTodos()
    {
        try
        {
            oDatos = new adCursos();

            return oDatos.recuperarTodos();
        }
        finally
        {
            oDatos = null;
        }
    }
    public Curso getCursoxComision(int idComision)
    {
        try
        {
            oDatos = new adCursos();

            return oDatos.getCursoxintComision(idComision);
        }
        finally
        {
            oDatos = null;
        }
    }

    public Curso getCurso(int id_Curso)
    {
        try
        {
            oDatos = new adCursos();

            return oDatos.getCurso(id_Curso);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void agregarCurso(Curso CursoActual)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            oDatos.agregarCurso(CursoActual);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void modificarCurso(Curso CursoActual)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            oDatos.modificarCurso(CursoActual);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void borrarCurso(int id_Curso)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            oDatos.borrarCurso(id_Curso);
        }
        finally
        {
            oDatos = null;
        }
    }

    public ArrayList<Curso> recuperarCursosParaGrilla(int id_materia)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            return oDatos.recuperarCursosParaGrilla(id_materia);
        }
        finally
        {
            oDatos = null;
        }
    }
    public ArrayList<CursoComision> recuperarCursoComisiones(int id_materia){
    	adCursos oDatos;
    	  try
          {
              oDatos = new adCursos();

              return oDatos.recuperarCursosComision(id_materia);
          }
          finally
          {
              oDatos = null;
          }
              
    }
    public void registrarInscripcion(int idCurso, int id_alumno) //era bool
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();
            oDatos.registrarInscripcion(idCurso, id_alumno);
            //return oDatos.registrarInscripcion(idCurso, id_alumno);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void actualizarCupo(int idCurso, int cupo)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            oDatos.actualizarCupo(idCurso, cupo);
        }
        finally
        {
            oDatos = null;
        }
    }

    public ArrayList<Curso> RecuperarInscripciones(int id_alumno)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            return oDatos.recuperarInscripciones(id_alumno);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void borrarInscripcion(int idCurso, int idAlumno) //era bool
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();
            oDatos.borrarInscripcion(idCurso, idAlumno);
            //return oDatos.BorrarInscripcion(idCurso, idAlumno);
        }
        finally
        {
            oDatos = null;
        }
    }

    //Sobrecarga del m�todo utilizando el id_inscripcion
    public void borrarInscripcion(int id_inscripcion) //era bool
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();
            oDatos.borrarInscripcion(id_inscripcion);
            //return oDatos.BorrarInscripcion(id_inscripcion);
        }
        finally
        {
            oDatos = null;
        }
    }


    public ArrayList<InscripcionTotal> RecuperarInscripcionesTotales(String Condicion)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            return oDatos.recuperarInscripcionesTotales(Condicion);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void actualizarCondiciones(String condActual, String condNueva, int idInscripcion)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            oDatos.ActualizarCondiciones(condActual, condNueva, idInscripcion);
        }
        finally
        {
            oDatos = null;
        }
    }

    //Sin reportes?
    public ArrayList<CursoMateriaComision> recuperarCursosParaReporte()
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            return oDatos.recuperarCursosParaReporte();
        }
        finally
        {
            oDatos = null;
        }
    }

    public boolean existeCurso(String idMateria, String idComision)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            return oDatos.existeCurso(idMateria, idComision);
        }
        finally
        {
            oDatos = null;
        }
    }

    public void borrarInscripcionDeAlumno(int idAlumno)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();

            oDatos.borrarInscripcionDeAlumno(idAlumno);
        }
        finally
        {
            oDatos = null;
        }
    }

    public boolean tieneInscriptos(String idCurso)
    {
        adCursos oDatos;

        try
        {
            oDatos = new adCursos();
            return oDatos.tieneInscriptos(idCurso);
        }
        finally
        {
            oDatos = null;
        }
    }

}
